package com.secxiot.provider.communication.dao;

import java.util.List;

import com.secxiot.provider.communication.vo.CommunicationTalkVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.secxiot.provider.communication.entity.CommunicationDetail;
import com.secxiot.provider.communication.entity.CommunicationDetailExample;
import com.secxiot.provider.communication.vo.CommunicationDetailVo;

@Repository
public interface CommunicationDetailDao {
	int countByExample(CommunicationDetailExample example);

	int deleteByExample(CommunicationDetailExample example);

	int deleteByPrimaryKey(Long id);

	int insert(CommunicationDetail record);

	int insertSelective(CommunicationDetail record);

	List<CommunicationDetail> selectByExample(CommunicationDetailExample example);

	CommunicationDetail selectByPrimaryKey(Long id);

	int updateByExampleSelective(@Param("record") CommunicationDetail record,
			@Param("example") CommunicationDetailExample example);

	int updateByExample(@Param("record") CommunicationDetail record,
			@Param("example") CommunicationDetailExample example);

	int updateByPrimaryKeySelective(CommunicationDetail record);

	int updateByPrimaryKey(CommunicationDetail record);

	List<CommunicationDetailVo> getCommunicationDetaillist(@Param("communicationId") Long communicationId,
			@Param("pageNo") long pageNo, @Param("pageSize") Long pageSize);

	int updateCommunDetailReadFlag(@Param("readUserId") Long readUserId,
			@Param("communicationId") Long communicationId);

	void deleteByCommunicationId(@Param("communicationId")Long communicationId);
}